{% extends "second-edition/base.html" %}

{% import "macros.html" as macros %}

{% block title %}{{ config.title }}{% endblock title %}

{% block main %}
{% set posts_section = get_section(path = "second-edition/posts/_index.md") %}
{% set posts = posts_section.pages %}

<div class="front-page-introduction">
    <p>
        This blog series creates a small operating system in the
        <a href="https://www.rust-lang.org/">Rust programming language</a>. Each post is a small tutorial and includes all
        needed code, so you can follow along if you like. The source code is also available in the corresponding
        <a href="https://github.com/phil-opp/blog_os">Github repository</a>.
    </p>
    <p>Latest post:
        {% set latest_post = posts|last %}
        <strong><a href="/{{ latest_post.path | safe }}">{{ latest_post.title }}</a></strong>
    </p>
</div>

<div id="bare-bones" class="post-category bare-bones">Bare Bones</div>
<div class="posts bare-bones">
    {{ macros::post_link(page=posts.0) }}
    {{ macros::post_link(page=posts.1) }}
    {{ macros::post_link(page=posts.2) }}
</div>

<div id="testing" class="post-category testing">Testing</div>
<div class="posts testing">
    {{ macros::post_link(page=posts.3) }}
    {{ macros::post_link(page=posts.4) }}
</div>

<div id="exceptions" class="post-category exceptions">Exceptions</div>
<div class="posts exceptions">
    {{ macros::post_link(page=posts.5) }}
    {{ macros::post_link(page=posts.6) }}
    {{ macros::post_link(page=posts.7) }}
</div>

<div id="memory-management" class="post-category memory-management">Memory Management</div>
<div class="posts memory-management">
    {{ macros::post_link(page=posts.8) }}
    {{ macros::post_link(page=posts.9) }}
</div>

<div class="posts subscribe">
    <h2 class="post-title">Subscribe</h2>
    <p>Receive notifications about new posts and other major changes! You can either:</p>

    <p><ul>
        <li>Subscribe to our <a href="/rss.xml">RSS/Atom Feed</a>,</li>
        <li>Subscribe to <a href="https://github.com/phil-opp/blog_os/issues/479">this GitHub issue</a>, or</li>
        <li>Subscribe to our <a href="https://tinyletter.com/phil-opp/">email newsletter</a>.</li>
    </ul></p>
</div>

<div class="posts first-edition">
    <h2 class="post-title">First Edition</h2>
    You are viewing the second edition of “Writing an OS in Rust”, which is still in progress. The <a href="{{ get_url(path = "/first-edition") }}">first edition</a> has more content, but is no longer updated. We try our best to incorporate the missing content soon.
</div>

<div class="posts support">
    <h2 class="post-title">Support Me</h2>
    <p>In case you would like to support me, you can do so on <a href="https://donorbox.org/phil-opp">Donorbox</a>, <a href="https://www.patreon.com/phil_opp">Patreon</a>, or <a href="https://liberapay.com/phil-opp/">Liberapay</a>. Thanks!</p>
</div>

<hr>
{% set extra = get_section(path = "second-edition/extra/_index.md") %}
<h1>{{ extra.title }}</h1>
<ul>
    {% for subsection in extra.subsections %}
        <li><a href="/{{ subsection.path | safe }}">{{ subsection.title }}</a></li>
    {% endfor %}
    {% for page in extra.pages %}
        <li><a href="/{{ page.path | safe }}">{{ page.title }}</a></li>
    {% endfor %}
</ul>

<aside id="recent-updates">
    <h2>Recent Updates</h2>
    {% include "recent-updates.html" %}
</aside>

{% endblock main %}
